﻿using System;
using System.Collections.Generic;
using System.Data;
using UniqueConstraint = CodeGenerator.Implementations.UniqueConstraint;

namespace CodeGenerator.interfaces
{
    public interface IDatabaseProvider
    {
        DatabaseEngines DatabaseEngine { get; }
        IList<IGeneratorClass> GetTables();
        IList<IDatabaseColumn> GetTableColumns(string tableName);
        IList<IDatabaseColumn> GetTablePrimaryKeyColumns(string tableName);
        IList<IForeignKey> GetTableForeignKeys(string tableName, IGeneratorModel Model);
        IList<IUniqueConstraint> GetUniqueIndexes(string tableName);
    }



}